структура ОбробникПодій події словник кінець дія ОбробникПодій.виконати_створення(словник_подій) якщо словник_подій не є пусто якщо словник_подій не є словник впасти "аргумент `словник_подій` не є словником" кінець перебрати словник_подій.ключі() як ключ якщо ключ не є текст впасти "назва події не є текстом" кінець якщо словник_подій.отримати(ключ) не є Дія впасти "обробник події не є дією" кінець кінець я.події = словник_подій інакше я.події = словник() кінець кінець дія ОбробникПодій.додати_подію(назва, обробник) якщо назва не є текст впасти "назва події не є текстом" кінець якщо обробник не є Дія впасти "обробник події не є дією" кінець я.події.покласти(назва, обробник) кінець дія ОбробникПодій.обробити(назва, зворот_виклик) якщо назва не є текст впасти "назва події не є текстом" кінець якщо зворот_виклик не є Дія впасти "зворотній виклик не є дією" кінець вернути зворот_виклик(я.події.отримати(назва).виконати_виклик()) кінець дати ОбробникПодій